# !/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
===========================
@Time : 2022/10/24 0024 20:38
@Author : 测试开发工程师
@File : 6. DML 表结构.py
@Software: PyCharm
============================
"""

"""
插入表：
-- 插入数据

INSERT INTO 数据表名 

(列名1, 列名2...)

VALUES(值1, 值2...);


-- 选择数据库

USE db1;



-- 创建 user 表

CREATE TABLE user( 

  id INT,

  name VARCHAR(20),

  age INT, 

  sex CHAR(1), 

  address VARCHAR(40)

);



-- 插入一条完整数据，写出全部列名

INSERT INTO user (id,name,age,sex,address) 

VALUES(1,'张三',20,'男','北京');



-- 插入一条完整数据，不写列名

INSERT INTO user

VALUES(2,'李四',22,'女','上海');


-- 插入表一行中的某几列的值

INSERT INTO user (id,name,address) 

VALUES(3,'王五','深圳');


-- 一次插入多条数据

INSERT INTO user (id,name,address)

VALUES(4,'赵六','天津'),(5,'小红','成都'),(6,'小白','杭州');

值与字段必须要对应，个数相同并且数据类型相同
值的数据大小，必须在字段指定的长度范围内
VARCHAR CHAR DATE 类型的值必须使用单引号包裹
如果要插入空值，可以忽略不写，或者插入 NULL
如果插入指定字段的值，必须要上写列名
修改表：
-- 选择 db1 为当前数据库

USE db1;



-- 创建 student 表

CREATE TABLE student( 

  id INT,

  name VARCHAR(20),

  sex CHAR(1),

  age TINYINT,

  city VARCHAR(50)

);



-- 插入 5 条数据

INSERT INTO student

VALUES(1,'小李','男', 18, '北京'),

(2,'小白','女', 20, '成都'),

(3,'小王','男', 23, '上海'),

(4,'小赵','女', 21, '深圳'),

(5,'小周','男', 25, '杭州');

SET 子句：必选项，用于指定表中要修改的字段名及其字段值
WHERE 子句：可选项，用于限定表中要修改的行


删除表数据：

数据表名：指定要删除的数据表的表名
WHERE 子句：限定表中要删除的行
-- 删除表中指定行的数据
DELETE FROM 数据表名
WHERE 条件表达式


-- 删除表中全部数据     不能恢复

TRUNCATE TABLE 数据表名


-- 选择 db1 为当前数据库

USE db1;



# 数据准备

-- 创建 student 表

CREATE TABLE student( 

  id INT,

  name VARCHAR(20),

  sex CHAR(1),

  age TINYINT,

  city VARCHAR(50)

);



-- 插入 5 条数据

INSERT INTO student

VALUES(1,'小李','男', 18, '北京'),(2,'小白','女', 20, '成都'),(3,'小王','男', 23, '上海'),(4,'小赵','女', 21, '深圳'),(5,'小周','男', 25, '杭州');



-- 删除 id 为 1 的数据 

DELETE FROM student WHERE id = 1;

-- 删除 student 中所有的数据
 DELETE FROM student;
一般使用：效率高
TRUNCATE TABLE student;


"""
